﻿using SharpML.Api.Enumerations;
using SharpML.Api.Interfaces;
using SharpML.Api.Types;

namespace SharpML.Api.Abstraction.Plugin
{
    public abstract class PatternDataAdaptor : PluginComponent, IPatternDataAdaptor, IPatternDataAdaptorEvents
    {
        #region - Public Properties -

            public PatternData PatternData { get; protected set; }

            public int InputSize { get; protected set; }
            public int OutputSize { get; protected set;  }

        #endregion

        #region  - Public Abstraction Functionality -

            public abstract void Initialize( string path );

        #endregion

        #region - IPluginComponent Implementation -

            public override PluginComponentType Classification { get { return PluginComponentType.DataAdaptor; } }

        #endregion
    }
}
